In a wireless communication system designed to deliver data to a wireless mobile communication device (“mobile device”) such as a cellular telephone, a two-way pager, a wireless communication capable personal digital assistant (“PDA”), and other similar device, there are several main components in the wireless communication system. A host service, which provides services such as e-mail, calendar, instant messaging and Internet web browsing, holds the data to be delivered to the mobile device. The host service is coupled to a router, which couples the host service and a wireless network that is designed to communicate with the mobile device. To make a timely delivery of the data, the host service forwards the data for the mobile device to the router when the data becomes available. The router then forwards the data to the wireless network, which transmits the data to the mobile device. If the mobile device fails to receive the data, the router queues the data and re-forwards the data to the wireless network, which re-transmits the data to the mobile device. This process continues until the mobile device receives the data and acknowledges the reception or the process times out after a predetermined time period.
The above process of storing the message at the router and forwarding it to the device may be memory intensive. If the device is out of coverage or not connected to the network for a long period of time (i.e., user is on vacation for a week), the router may store a large number (and size) of messages, which may negatively impact the performance on the wireless router, host service and/or wireless network.
Furthermore, the above communication process requires numerous request and acknowledgement packets to be sent from the router and the mobile device to establish that the device is available to receive messages. This may create unnecessary network congestion, especially at peak network hours. It is desirable to formulate a more efficient wireless communication process to deliver messages to mobile devices.